import torchvision
from torchvision import datasets, transforms
from torchvision.transforms import InterpolationMode

transform_train_list = [
            #transforms.RandomResizedCrop(size=128, scale=(0.75,1.0), ratio=(0.75,1.3333), interpolation=3), #Image.BICUBIC)
            # transforms.Resize((256,128), interpolation=InterpolationMode.BICUBIC),    #重置图像大小（分辨率），interpolation为插值方法
            # transforms.Pad(10),                               #填充
            # transforms.RandomCrop((256,128)),                 #按指定尺寸随机裁剪图像（中心坐标随机）
            # transforms.Resize((63, 32)),
            transforms.RandomHorizontalFlip(),                #以0.5概率使图像随机水平翻转  （这些都是增强数据的实际效果，泛化性等）
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),      #数据归一化
            transforms.ColorJitter(brightness=0.1, contrast=0.1, saturation=0.1, hue=0) #对颜色的数据增强：图像亮度、饱和度、对比度变化
            ]

transform_val_list = [
            # transforms.Resize(size=(256,128),interpolation=InterpolationMode.BICUBIC),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
            ]


data_transforms = {
        'train': transforms.Compose( transform_train_list ),       #组合所有的transform操作
        'val': transforms.Compose(transform_val_list),
    }